1. Field of the Invention
The present invention relates to Mobile IP network technology. More particularly, the present invention relates to optimizing broadcast traffic in Mobile IP networks.
2. Description of the Related Art
Mobile IP is a protocol that allows laptop computers and other mobile computer units (“mobile nodes”) to roam between various sub-networks while maintaining Internet and/or WAN connectivity. Without Mobile IP or similar protocols a mobile node would be unable to stay connected while roaming from one location serviced by one sub-network to another location being serviced by a different sub-network. This is because each IP address has a field that specifies the particular sub-network on which the node resides. If a user desires to take a computer that is normally attached to one node and roam so that it passes through different sub-networks, the roaming computer cannot use its home base IP address. As a result, a businessperson traveling across the country cannot travel with his or her computer across geographically disparate network segments or wireless nodes while maintaining Internet connectivity. This is not acceptable in the age of portable computational devices.
To address this problem, the Mobile IP protocol has been developed and implemented. An implementation of Mobile IP is described in RFC 3220, “IP Mobility Support for IPv4” of the Network Working Group, C. Perkins, Ed., January 2002. Mobile IP is also described in the text “Mobile IP, The Internet Unplugged” by J. Solomon, Prentice Hall, 1998. Both of these references are incorporated herein by reference in their entireties and for all purposes.
The Mobile IP process and environment are illustrated in FIG. 1. A Mobile IP environment 100 includes the Internet (or a WAN) 105 over which a mobile node 110 can communicate via mediation by a home agent 115 or a foreign agent 120. Typically, the home agent 115 and foreign agent 120 are routers or other network connection devices performing appropriate Mobile IP functions as implemented by software, hardware, and/or firmware. Note the overall network topology is arbitrary, and elements such as the home agent 115 need not directly connect to the Internet 105. For example, the home agent 115 may be connected through another router R2 125. Router R2 125 may, in turn, connect one or more other routers R3 130 with the Internet 105.
When mobile node 110 is plugged into its home network segment 135 it connects with the Internet 105 through its designated home agent 115. When the mobile node 110 roams, it can be connected to a remote network segment 140 and communicate through the available foreign agent 120. Other nodes, such as a PC 145, on remote network segment 140 also communicate with the Internet 105 through foreign agent 120. Presumably, there are many foreign agents available at geographically disparate locations to allow wide spread Internet connection via the Mobile IP protocol.
Mobile node 110 may identify foreign agent 120 through various agent solicitations and agent advertisements that form part of the Mobile IP protocol. When mobile node 110 engages with remote network segment 140, it composes a registration request for the home agent 115 to bind the mobile node's 110 current location with its home location. Foreign agent 120 then relays the registration request 150 to home agent 115. During the registration process, the home agent 115 and the mobile node 110 may then negotiate the conditions of the mobile node's 110 attachment to foreign agent 120. For example, the mobile node 110 may request a registration lifetime of 5 hours, but the home agent 115 may grant only a 3 hour period. When the negotiation is successfully completed, home agent 115 updates an internal “mobility binding table” which links the mobile node's 110 current location via its care-of address (e.g., a co-located care-of address or the foreign agent's IP address) to the identity (e.g., home address) of the mobile node 110. Further, if the mobile node 110 registered via foreign agent 120, the foreign agent 120 updates an internal “visitor table” which specifies the mobile node address, home agent address, etc. The home agent's 115 association between a mobile node's home base IP address, its current care-of address, and the remaining lifetime of that association is referred to as a binding.
If mobile node 110 wanted to send a message to a correspondent node 155 from its new location, the mobile node 110 would forward a packetized output message 160 through the foreign agent 120 over the Internet 105 to the correspondent node 155 according to standard Internet protocols. However, if the correspondent node 155 wanted to send a message 165 to the mobile node 110—whether in reply to a message from the mobile node 110 or for any other reason—the correspondent node 155 addresses that message to the IP address of the mobile node 110 as if the mobile node 110 were on the home network segment 135. The packets of the message from the correspondent node 155 are forwarded over the Internet 105 to the router R2 125 and ultimately to the home agent 115.
From the home agent's 115 mobility binding table, the home agent 115 recognizes that the mobile node 110 is no longer attached to the home network segment 135. The home agent 115 then encapsulates the packets from correspondent node 155 (which are addressed to the mobile node 110 on the home network segment 135) according to the Mobile IP protocol, and forwards these encapsulated packets 170 to the appropriate care-of address for mobile node 110. If the care-of address is the IP address of the foreign agent 120 the foreign agent 120 strips the encapsulation and forwards the message to the mobile node 110 on the remote network segment 140. The packet forwarding mechanism implemented by the home agent 115 to the foreign agent 120 is often referred to as “tunneling.”
RFC 3220 further specifies the mechanism for supporting broadcast packets. Specifically, when a correspondent node sends a broadcast packet, the Home Agent duplicates the broadcast packet and forwards the duplicated broadcast packets to the appropriate Foreign Agent(s) so that the broadcast packets may each be sent to the Mobile Nodes supported by the Home Agent that have roamed to that Foreign Agent. Thus, even when the Mobile Nodes to which the broadcast packets have been forwarded are stationed on the same home subnet and have roamed to the same care-of address, the Home Agent must replicate the broadcast packet for each of the Mobile Nodes to which the broadcast packet is to be forwarded.
In addition, in order to reuse address space and use private addresses, a Mobile Node may be dynamically assigned a home address by the Home Agent. A system for dynamically assigning a home address is described in application Ser. No. 09/227,397, entitled “Mobile IP Dynamic Home Address Resolution,” filed on Jan. 8, 1999, which is incorporated by reference herein for all purposes. However, when a Mobile Node is dynamically assigned a home address, the Mobile Node cannot ascertain its network mask (prefix length) of the home address. Without its network mask, the Mobile Node cannot recognize the prefix length being advertised by the Home Agent as its own, and therefore the Mobile Node cannot roam home. If the Mobile Node had somehow roamed home, the Mobile Node cannot itself send Address Resolution Protocol (ARP) packets since it does not know its own subnet.
Even when a Mobile Node is statically configured with a home address, the Foreign Agent is not in possession of the network mask associated with the home address assigned to the Mobile Node. This has not typically been a problem, since the Home Agent rather than the Foreign Agent has been responsible for replicating broadcast packets according to current standards. However, according to current implementation schemes, the Foreign Agent does not have the information to enable it to participate in replicating broadcast packets.
In view of the above, it would be desirable to provide an improved method for supporting broadcast traffic in a Mobile IP environment.